草庐IT

ASP.NET Core MVC 从入门到精通之Razor语法

全部标签

c# - 将常见的 Razor 助手移动到另一个文件

我有一个MVC4网络应用程序,目前我有几个@helper用于多个页面,在cshtml中定义。问题是,我必须在使用它们的每个页面上定义它们。是否可以创建一个包含我的所有@helper的.cshtml文件并将该页面包含到我的View中?即这用于cms区域中的每个索引View。@helperDisplayPager(Int32CurrentPage,Int32MaxPages){StringIsActive="";0?CurrentPage-1:1})">Prev@for(inti=0;i@(i+1)}Next}相同的定义、相同的代码、相同的一切,但现在它在代码中至少出现了15次。

c# - ASP.NET VNext 完整 CLR 中的 System.IO.Compression

我正在尝试在VS2015预览版的ASP.NETVNext类库中使用System.IO.Compression.ZipArchive。我使用NuGet添加了System.IO.Compression包,并将其作为aspnetcore50依赖项添加到我的project.json中。当我尝试使用ZipArchive时,智能感知显示在ASP.NET5.0中不可用,但在ASP.NETCore5.0中可用。如果我使用顶部栏中的下拉菜单切换到使用ASP.NETCore,那么我的代码会按预期工作,但是当我选择普通ASP.NET时它不起作用。我尝试手动将它添加为project.json中的aspnet5

c# - ASP.Net MVC 回发和模型

这主要是本期评论的后续,但我没有足够的声誉来发表评论......ASP.NetMVCPostbackalabelvaluetoyourcontroller假设我有一个简单的模型:publicclassSimpleClass{publicStringLabel{get;set;}publicStringFirstName{get;set;}}标签根据用户/客户端更改,因此它不能是DataAttribute。如果回发处理时出现问题,我们需要重绘整个页面。这就是上一篇文章的症结所在。公认的解决方案是这样做:@Html.DisplayTextFor(model=>model.Label)@Ht

c# - '控制台'不包含 asp.net 5 控制台应用程序中 'ReadKey' 的定义

我正在VS2015CTP中的ASP.NET5控制台中创建一个简单的应用程序。对于下面的代码行//WaitforuserinputConsole.ReadKey();我收到错误消息“控制台”不包含“ReadKey”的定义。此外,我收到的建议是ASP.Net5.0-AvailableASP.NETCore5.0-Notavailable。不再使用ReadKey关键字?该建议意味着我需要添加一些引用是什么意思? 最佳答案 基本上,Console.ReadKey在完整框架中可用,但在.NETCore中不可用。这就是为什么它说它对ASP.NE

c# - 在 ASP.Net Core Identity 中刷新用户 cookie 票证

在ASP.NETCoreWeb应用程序的Controller中,我想刷新存储在客户端上的cookie票证中的用户和声明。客户端已通过身份验证和授权,ASP.NETCoreIdentity将此信息存储在cookie票证中-现在在某些Controller操作中我想刷新cookie中的数据。SignInManager具有刷新RefreshSignInAsync的功能,但它不接受HttpContext.User作为参数。[HttpPost("[action]")][Authorize]publicasyncTaskValidate(){//todo:updatetheClientCookiea

C# ANTLR 语法?

我正在寻找交keyANTLRC#语法生成可用的抽象语法树(AST),并且与后端语言无关或以C#、C、C++或D为目标。它不需要支持错误报告。附言我几乎不愿意做任何修复,因为替代方案不是很难。 最佳答案 这可能为时已晚,但您可以获得C#4grammar. 关于C#ANTLR语法?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/358052/

c# - 执行时 ASP.Net MVC "Could Not Load Type"

我有一个非常简单的ASP.NetMVC应用程序,它是根据在线教程生成的。我已完全按照它一步一步地进行,并尝试了多次,但在执行代码时不断出现相同的错误。该程序仅显示一个索引页面,该页面使用linqtosql列出了来自sqlserver数据库的一系列数据。这是错误:无法加载类型“MvcApplication1.Views.Home.Index”。知道问题出在哪里吗? 最佳答案 可能的答案在这里:http://www.jondavis.net/techblog/post/2009/04/29/Set-Up-IIS-For-An-MVC-A

c# - 如何在输出之前修改整个 ASP.NET 页面内容?

我有一个页面,上面有一堆用户控件。我希望能够在将在我的代码中替换的内容中直接包含“宏”或“占位符”。这应该没什么关系,但我正在使用Ektron作为我的CMS。在将整个呈现的页面内容发送给客户端之前,是否有任何我可以Hook的页面事件来对整个呈现的页面内容进行字符串替换?更新这是我目前用来完成此任务的代码:protectedoverridevoidRender(HtmlTextWriterwriter){stringcontent=string.Empty;using(varstringWriter=newStringWriter())using(varhtmlWriter=newHtm

c# - asp.net mvc 自定义属性中的执行优先级

我的asp.netmvc(C#)应用程序中有两个自定义属性。[CustAttribute1()][CustAttribute2()]当我将这些属性用于我的操作时,哪个将首先执行?[CustAttribute1()][CustAttribute2()]publicActionResultIndex(){我可以为我的操作使用多个自定义属性吗?如果是这样,在上面的Action中,哪个自定义属性会先执行? 最佳答案 设置Order属性(property)。[CustAttribute1(Order=2)][CustAttribute2(Or

c# - 为什么 lambda 语句周围的括号会导致语法错误?

我正在寻找一个很好的解释,为什么一段代码无法编译而另一段代码编译正常。失败:richTextBox1.Invoke(newMethodInvoker((()=>{richTextBox1.AppendText("test");})));给出错误Methodnameexpected在MethodInvoker(之后的左括号上。显然,我不能将lambda语句括在括号中。编译:richTextBox1.Invoke(newMethodInvoker(()=>{richTextBox1.AppendText("test");}));问题是-为什么?我总是想当然地认为,如果我愿意,我可以将任何方